草庐IT

php - 获取当前 Controller

全部标签

ruby-on-rails - 如果我调用 Factory.build 以使我的 Controller 测试快速,我怎样才能让 Factory Girl 永远不会访问数据库?

我正在寻求使我的Rails测试更快。我只有520个测试,但它们在bash中运行需要62秒,在Rubymine中运行需要82秒。作为典型Controller测试的示例,我使用此代码以@user身份登录并在CommentsController中为我的RSpecController测试创建基本的@comment:before(:each)do@user=Factory.create(:user)sign_in@user@comment=Factory.create(:comment)end您可能会意识到...这很慢。它构建了一个@user,但也为该用户构建了关联。@comment也是如此。所

ruby-on-rails - ActionMailer 最佳实践 : Call method in the model or the controller?

发送电子邮件通常在对模型执行操作后调用,但电子邮件本身是一个View操作。我正在寻找您如何考虑要问自己什么问题来确定将操作邮件程序方法调用放在何处。我见过/使用过它们:在模型方法中-相关但独立的关注点的耦合不良?在模型的回调中(例如after_save)-就我目前的知识水平而言,最好的分离。在Controller操作中-只是感觉不对,但在某些情况下这是构建代码的最明智的方式吗?如果我想知道如何编程,我需要像程序员一样思考,因此学习如何思考特定的编程解决方案值得我独自编码数月。谢谢! 最佳答案 迟到的答案,但我想在这个问题上合理化:通

ruby-on-rails - 如何部署我的应用程序可以访问但其他人无法获取的 'private' gem?

我有几个应用程序,我想共享一些通用代码。我想gem代码并以这种方式在应用程序之间共享/版本化它,尽管我不想将它发布到公共(public)gem服务器。有哪些选项? 最佳答案 这看起来很有希望:https://github.com/cwninja/geminabox/虽然我自己没有用过,所以我不能保证。但是,我最近在官方Rubygems问答网站上看到的一个帖子中推荐了它,其中提到内置的ruby​​gems托管不是推荐的解决方案,而Geminabox是一个不错的选择。请注意,它不具有任何身份验证或安全性(显然,通过模糊处理除外),因此根

ruby - 如何获取 BasicObject 实例的类?

我有一个脚本,该脚本使用不带参数的ObjectSpace#each_object进行迭代。然后它打印每个类存在多少个实例。我意识到有些类重新定义了#class实例方法,所以我不得不寻找另一种方法来获取实际的类;假设它存储在变量"klass"中,并且klass===object为真。在Ruby1.8中我可以这样做,假设Object没有被monkeypatched:Object.instance_method(:class).bind(object).call这适用于ActiveSupport::Duration实例:#Ruby1.8#(triestotrickus)20.seconds.

ruby - 从 irb 获取所有局部变量或可用方法?

当我进入irb并输入一个不存在的命令时,我收到一条错误消息"undefinedlocalvariableormethod'my_method'formain:Object(NameError)"有没有办法只获取可用的局部变量或方法的列表?这对于探索ruby​​非常有用。 最佳答案 在内核、对象和模块中寻找方法:例如local_variables,instance_methods,instance_variables.还有其他很棒的方法。inspect是另一个。 关于ruby-从irb获取

ruby-on-rails - 在 RoR 中回滚生成的 Controller /模型

我使用脚手架创建了一个模型和Controller文件。后来我发现先在数据库中创建表是个好主意...我的问题是,如果我在数据库中有表,我如何才能恢复生成的文件并重新生成它们?我刚开始学习RoR,所以现在我对最佳实践不感兴趣,只是学习这个FW(RoR)附带的工具箱。还有,你有好的教程推荐吗?我确实知道使用谷歌,只是搜索引擎还不知道(正在努力)如何对教程进行评分。编辑:对于我的最后一个问题,我找到了LearningRubyonRails 最佳答案 尝试railsdestroyscaffoldXXXXX但我感到困惑的一件事是您说“后来我发现

ruby - 如何使用 Dir.glob 获取仅包含文件的列表?

如何返回指定目录中只有文件而不是目录的列表?我有my_list=Dir.glob(script_path.join("*"))这将返回目录中的所有内容,包括子目录。我进行了搜索,但未能找到答案。 最佳答案 除了Mark的回答之外,Dir.entries还会返回目录。如果您只需要文件,则可以使用file?测试每个条目以查看它是文件还是目录。Dir.entries('/home/theiv').select{|f|File.file?(f)}将/home/theiv替换为您要在其中查找文件的任何目录。另外,看看File.它提供了一堆测试

ruby - 如何获取 Sinatra 应用程序中的所有 URL 参数

使用以下Sinatra应用get'/app'docontent_type:json{"params"=>params}.to_jsonend调用:/app?param1=one¶m2=two¶m2=alt给出以下结果:{"params":{"param1":"one","param2":"alt"}}Params只有两个键,param1和param2。我知道Sinatra将参数设置为散列,但它并不代表所有的URL请求。在Sinatra中有没有办法获取请求中发送的所有URL参数的列表? 最佳答案 机架中的任何请求get

ruby - Controller 中批量更新的最佳实践

我想知道在Controller中允许批量编辑/更新的最佳做法是什么。我真的找不到关于这个主题的文章或指南。 最佳答案 我看到您用REST标记了您的问题。要以REST方式执行此操作,您需要将集合或更新本身视为资源。假设您正在使用Product对象。您可能会PUT到/product_batches/[someidentifier],这会调用ProductBatchesController#update,但随后您会想知道[someidentifier]中的内容。您可以将ProductBatch设为singularresource这样您就不

ruby-on-rails - Rails Controller 中的实例和类变量

我是Rails和ruby​​的新手。我正在研究类和实例变量的概念。我理解其中的区别,但是当我使用rails中的Controller进行尝试时,它让我感到困惑。我所做的是在类方法之外声明了一个类和实例变量:classBooksController我的印象是@insworld具有“我的爱好”的值,但是当我在index方法中尝试检查@insworld的值时,@insworld返回了一个零值。@@world的值为“HelloWorld”。那么这里发生了什么?它们不是在同一个类中定义的吗? 最佳答案 类在Ruby中也是对象,因此它们可以有自己